home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / alsa / output.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  3KB  |  87 lines

  1. /**
  2.  * \file include/output.h
  3.  * \brief Application interface library for the ALSA driver
  4.  * \author Jaroslav Kysela <perex@suse.cz>
  5.  * \author Abramo Bagnara <abramo@alsa-project.org>
  6.  * \author Takashi Iwai <tiwai@suse.de>
  7.  * \date 1998-2001
  8.  *
  9.  * Application interface library for the ALSA driver
  10.  */
  11. /*
  12.  *   This library is free software; you can redistribute it and/or modify
  13.  *   it under the terms of the GNU Lesser General Public License as
  14.  *   published by the Free Software Foundation; either version 2.1 of
  15.  *   the License, or (at your option) any later version.
  16.  *
  17.  *   This program is distributed in the hope that it will be useful,
  18.  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  19.  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  20.  *   GNU Lesser General Public License for more details.
  21.  *
  22.  *   You should have received a copy of the GNU Lesser General Public
  23.  *   License along with this library; if not, write to the Free Software
  24.  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
  25.  *
  26.  */
  27.  
  28. #ifndef __ALSA_OUTPUT_H
  29. #define __ALSA_OUTPUT_H
  30.  
  31. #ifdef __cplusplus
  32. extern "C" {
  33. #endif
  34.  
  35. /**
  36.  *  \defgroup Output Output Interface
  37.  *
  38.  *  The output functions present an interface similar to the stdio functions
  39.  *  on top of different underlying output destinations.
  40.  *
  41.  *  Many PCM debugging functions (\c snd_pcm_xxx_dump_xxx) use such an output
  42.  *  handle to be able to write not only to the screen but also to other
  43.  *  destinations, e.g. to files or to memory buffers.
  44.  *
  45.  *  \{
  46.  */
  47.  
  48. /**
  49.  * \brief Internal structure for an output object.
  50.  *
  51.  * The ALSA library uses a pointer to this structure as a handle to an
  52.  * output object. Applications don't access its contents directly.
  53.  */
  54. typedef struct _snd_output snd_output_t;
  55.  
  56. /** Output type. */
  57. typedef enum _snd_output_type {
  58.     /** Output to a stdio stream. */
  59.     SND_OUTPUT_STDIO,
  60.     /** Output to a memory buffer. */
  61.     SND_OUTPUT_BUFFER
  62. } snd_output_type_t;
  63.  
  64. int snd_output_stdio_open(snd_output_t **outputp, const char *file, const char *mode);
  65. int snd_output_stdio_attach(snd_output_t **outputp, FILE *fp, int _close);
  66. int snd_output_buffer_open(snd_output_t **outputp);
  67. size_t snd_output_buffer_string(snd_output_t *output, char **buf);
  68. int snd_output_close(snd_output_t *output);
  69. int snd_output_printf(snd_output_t *output, const char *format, ...)
  70. #ifndef DOC_HIDDEN
  71.     __attribute__ ((format (printf, 2, 3)))
  72. #endif
  73.     ;
  74. int snd_output_vprintf(snd_output_t *output, const char *format, va_list args);
  75. int snd_output_puts(snd_output_t *output, const char *str);
  76. int snd_output_putc(snd_output_t *output, int c);
  77. int snd_output_flush(snd_output_t *output);
  78.  
  79. /** \} */
  80.  
  81. #ifdef __cplusplus
  82. }
  83. #endif
  84.  
  85. #endif /* __ALSA_OUTPUT_H */
  86.  
  87.